The invention relates to a device for efficiently distributing data for multicasting in a multicast environment.
The multicast has hitherto been utilized as a technology of scheming to make efficient a transmission of streaming data, etc. including multimedia data such as voices, sounds, videos, images, these combination and so on. In the multicast, it is basically impossible to provide an on-demand data distribution. The multicast has, however, a large number of merits in a distribution of the dynamic images and a distribution of the voices in realtime (Example: live relay broadcasting).
In the multicast, a quantity of traffic of a certain route is kept constant at all times irrespective of the number of clients (the number of users desiring to receive data). Hence, there is a less of influence exerted on other communications. Accordingly, in the multicast, unlike unicast, there is no necessity of providing equipment such as a dedicated-to-distribution network and cache server, and the like. According to the multicast, the multimedia data can be distributed based on an extremely low-cost network structure.
Technologies for actualizing the multicast are Internet Group Management Protocol (IGMP) and a multicast routing protocol. The IGMP is a protocol for a multicast-supported router and a multicast-supported layer-3 switch (which will hereinafter be called “multicast routers”) to grasp multicast receiving states of the clients (an end system) each connected under the multicast router. The multicast routing protocol is a protocol that functions between the multicast routers in order to build up a data distribution route from the server down to each client. Note that, in the specification, “layer 2” and “layer 3” respectively mean communication functions defined on OSI (Open System Interconnection) layer model.
In conventional IGMP version 1 (IGMPv1) and IGMP version 2 (IGMPv2), a multicast group is managed by only multicast addresses corresponding to destination addresses of the multicast data. Note that there is a system capable of restricting a transmission host in IP multicast communications supported by the IGMPv2 messages (see “Patent document 1”).
In IGMP version 3 (IGMPv3: See non-patent document 2), however, a multicast session is identified and managed by an address (source address) of a server (source) as a data transmission source and by the multicast address. Namely, the multicast session where the source address, though the multicast address is the same, is different is recognized as a different multicast session. Accordingly, in the IGMPv3, a dual use of the multicast address becomes possible. This form of multicast is called SSM (Source Specific Multicast) and will be, it is predicted, applied to realtime broadcasting from now onwards.
Further, normally in a local area network (LAN) environment and in a broadband environment for accessing the Internet, a layer-2 switch (a LAN switch) is installed between the router or the layer-3 switch and the client. Then, this layer-2 switch accommodates the end system (clients) and is connected to the router or the layer-3 switch.
The layer-2 switch used in a network utilizing the multicast generally implements an IGMP Snooping function. In the IGMP Snooping, the multicast data are forwarded to only a port to which a client (a receiver) desiring to receive the multicast data is connected. In the IGMP Snooping, the layer-2 switch snoops to see (refers to) the IGMP messages sent from the client and the multicast router. Then, the layer-2 switch grasps a port where the multicast router was connected, each port where each client was connected, and each multicast address which each client expects reception of multicast data, and then forwards the multicast data based on the result of the grasp.
Thus, the IGMP Snooping enables the multicast data to be forwarded to only the port required. Therefore, it is avoided that the multicast data arrive at all the clients including the clients who do not desire to receive. At this time, the layer-2 switch supporting the IGMP Snooping judges whether layer-2 information, i.e., a media access control (MAC) address comes under the multicast address or not. Then, in case the MAC address is the multicast address, the layer-2 switch forwards the multicast data to only the port required.
Thus, the layer-2 switch actualizes the IGMP function by the IGMP snooping. Namely, the IGMP and the Internet Protocol (IP) multicast are functions of the layer 3, however, the layer-2 switch controls the forwarding process based on the layer-2 information. Accordingly, the layer-2 switch, even if supporting the IGMP Snooping, has no necessity of executing processes related to the layer 3 and did not therefore undergo a great adverse influence upon its performance.
Above-mentioned the Patent Document 1 and the non-Patent Documents 1 and 2 are as follows.    [Patent document 1] Japanese Patent laying-open Application Publication No. 2002-64558;    [Non-patent document 1] “Multicast Listener Discovery Version 2 (MLDv2) for IPv6”, [online], Internet <URL:http://www.ietf.org/internet-drafts/draft-vida-mld-v2-06.txt>; and    [Non-patent document 2] “Internet Group Management Protocol, Version 3”, [online], Internet <URL: http://www.ietf.org/rfc/rfc3376.txt? number=337>
In the IGMPv3 and Multicast Listener Discovery version 2 (MLDv2: see the non-patent document 1) which will be, it is predicted, spread from now onwards, however, the processing at a layer-2 level becomes impossible unlike conventional IGMPs (version 1, version 2) and MLD (version 1). Herein, the MLD is a technology on the IPv6 corresponding to the IGMP on the IPv4. In the IGMPv3 and the MLDv2, source information and a plurality of multicast addresses, etc. are stored in a payload field next to an IP header in an IP packet. These pieces of information are indispensable for actualizing functions of the IGMPv3 and the MLDv2. It is therefore impossible that the IGMP Snooping of the layer-2 switch realizes functions of the IGMPv3 and the MLDv2. Namely, for actualizing the functions of the IGMPv3 and the MLDv2 by utilizing the IGMP Snooping, the layer-2 switch is required to refer to layer-3 information in an IGMP packet or MLDv2 packet. The actualization of the functions of the IGMPv3 and the MLDv2 by utilizing the IGMP Snooping, the layer-2 switch is further required to determine a port as a forward destination after referring to the layer-3 information even in an actual forwarding process.
The layer-2 switch for switching a frame on the basis of the layer-2 (MAC) information implements the process of referring to the layer-3 information, which causes a remarkable decline of performance of the layer-2 switch, causes the device itself to be extremely complicated and causes its cost to rise. Further, it is the same as a state where the clients are connected by a shared media (a hub (HUB), etc.) that a network is configured by the layer-2 switches incapable of actualizing the IGMP Snooping. Namely, the multicast data are forwarded to even the client having no necessity of receiving the multicast data, and an adverse influence is exerted on other unicast communications and multicast communications. Hence, it follows that there is lost a merit given from the layer-2 switch accommodating the clients.